Manages the processing of macros.
public class MacroProcessor<_T_>
Public Class MacroProcessor(Of T)
generic<typename T>
public ref class MacroProcessor
Type Parameters
T
Type of data passed to the macro substitution delegates.
Macros are defined as ${macro_name} in strings. This class looks for those tokens and calls the appropriate registered delegate to return a string. The MacroProcessor class has the following default macros when created:
Value | Meaning |
---|---|
date | Current date. |
random_string | Random string of specified link. |
random_date | Random date in the specified min/max date range. |
empty | Empty string. |
random_time | Random time offset from the specified time. |
replace(value) | Releases the tag with the specified value. |
This example adds two macros to the macro processor and process a string.
using Leadtools.Dicom.Common.Anonymization;
public void MacroProcessorSample()
{
MacroProcessor<object> processor = new MacroProcessor<object>();
//
// add two macros to the macro processor
//
processor.Macros.Add("current_date", new MacroSubsitutionDelegate<object>(CurrentDateMacro));
processor.Macros.Add("current_time", new MacroSubsitutionDelegate<object>(CurrentTimeMacro));
//
// Process a macro string
//
Console.WriteLine(processor.Process(processor, "${current_date} ==> ${current_time}"));
}
private string CurrentDateMacro(object userData, string name, params object[] parameters)
{
return DateTime.Now.ToShortDateString();
}
private string CurrentTimeMacro(object userData, string name, params object[] parameters)
{
return DateTime.Now.ToShortTimeString();
}
Imports Leadtools.Dicom.Common.Anonymization
Public Sub MacroProcessorSample()
Dim processor As New MacroProcessor(Of Object)()
'
' add two macros to the macro processor
'
processor.Macros.Add("current_date", New MacroSubsitutionDelegate(Of Object)(AddressOf CurrentDateMacro))
processor.Macros.Add("current_time", New MacroSubsitutionDelegate(Of Object)(AddressOf CurrentTimeMacro))
'
' Process a macro string
'
Console.WriteLine(processor.Process(processor, "${current_date} ==> ${current_time}"))
End Sub
Private Function CurrentDateMacro(ByVal userData As Object, ByVal name As String, ByVal ParamArray parameters As Object()) As String
Return DateTime.Now.ToShortDateString()
End Function
Private Function CurrentTimeMacro(ByVal userData As Object, ByVal name As String, ByVal ParamArray parameters As Object()) As String
Return DateTime.Now.ToShortTimeString()
End Function
Products |
Support |
Feedback: MacroProcessor<T> Class - Leadtools.Dicom.Common |
Introduction |
Help Version 19.0.2017.6.23
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.